#ifndef _HASH_H
#define _HASH_H

#include <compiler.h>
#include <type.h>

u32 strhash32(const char* str);

/**
 * @brief 32-bit hash function
 * @ref https://elixir.bootlin.com/linux/v6.5.13/source/include/linux/hash.h
 */
static inline u32 hash32(const u32 val) {
    return val * 0x61C88647;
}

#endif /* _HASH_H */